﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace XDUD_QuanLyBanHang
{
    public partial class frmQuanLyDanhMucSanPham : Form
    {
        public frmQuanLyDanhMucSanPham()
        {
            InitializeComponent();
        }
        bool Them;
        //chuoi ket noi
        string strConnectionString = "Data Source=VUHOANG-PC\\SQLEXPRESS;Initial Catalog=QuanLyBanHang;Integrated Security=True";
        //doi tuong ket noi
        SqlConnection conn = null;
        //dua du lieu vao datatable dtNhanVien
        SqlDataAdapter daSanPham = null;
        //dua du lieu hien thi len form
        DataTable dtSanPham = null;

        void ReLoad()
        {
            try
            {
                //khoi dong connection
                conn = new SqlConnection(strConnectionString);
                //chuyen du lieu len datatable dtThanhPho
                daSanPham = new SqlDataAdapter("Select * from SanPham", conn);
                dtSanPham = new DataTable();
                dtSanPham.Clear();
                daSanPham.Fill(dtSanPham);
                dgvSanPham.DataSource = dtSanPham;

            }
            catch (SqlException)
            {
                MessageBox.Show("Không lấy được nội dung trong table SANPHAM", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btnReLoad_Click(object sender, EventArgs e)
        {
            //load lai form
            ReLoad();
            //xoa trang cac TextBox trong panel
            txtMaSP.ResetText();
            txtTenSP.ResetText();
            txtDonvitinh.ResetText();
            txtDongia.ResetText();
            //Tat cac nut Luu, Huy va panel
            panel1.Enabled = false;
            btnLuu.Enabled = false;
            btnHuy.Enabled = false;
            // Bat cac nut Them, Xoa, Sua, Thoat
            btnThem.Enabled = true;
            btnXoa.Enabled = true;
            btnSua.Enabled = true;
            btnTroVe.Enabled = true;
        }

        private void btnTroVe_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            ReLoad();
            // Xóa trống các đối tượng trong Panel
            txtMaSP.ResetText();
            txtTenSP.ResetText();
            txtDonvitinh.ResetText();
            txtDongia.ResetText();
            // Cho thao tác trên các nút Thêm / Sửa / Xóa / Thoát
            this.btnThem.Enabled = true;
            this.btnSua.Enabled = true;
            this.btnXoa.Enabled = true;
            this.btnTroVe.Enabled = true;
            // Không cho thao tác trên các nút Lưu / Hủy / Panel
            this.btnLuu.Enabled = false;
            this.btnHuy.Enabled = false;
            this.panel1.Enabled = false;
        }

        private void frmQuanLyDanhMucSanPham_Load(object sender, EventArgs e)
        {
            ReLoad();
            // Xóa trống các đối tượng trong Panel
            txtMaSP.ResetText();
            txtTenSP.ResetText();
            txtDonvitinh.ResetText();
            txtDongia.ResetText();
            // Cho thao tác trên các nút Thêm / Sửa / Xóa / Thoát
            this.btnThem.Enabled = true;
            this.btnSua.Enabled = true;
            this.btnXoa.Enabled = true;
            this.btnTroVe.Enabled = true;
            // Không cho thao tác trên các nút Lưu / Hủy / Panel
            this.btnLuu.Enabled = false;
            this.btnHuy.Enabled = false;
            this.panel1.Enabled = false;
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            // Kich hoạt biến Them
            Them = true;
            // Xóa trống các đối tượng trong Panel
            txtMaSP.ResetText();
            txtTenSP.ResetText();
            txtDonvitinh.ResetText();
            txtDongia.ResetText();
            // Cho thao tác trên các nút Lưu / Hủy / Panel
            this.btnLuu.Enabled = true;
            this.btnHuy.Enabled = true;
            this.panel1.Enabled = true;
            // Không cho thao tác trên các nút Thêm / Xóa / Thoát
            this.btnThem.Enabled = false;
            this.btnSua.Enabled = false;
            this.btnXoa.Enabled = false;
            this.btnTroVe.Enabled = false;
            // Đưa con trỏ đến TextField txtMaSP
            this.txtMaSP.Focus();
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            //Kich hoat bien sua
            Them = false;
            //cho phep thao tac tren Panel
            this.panel1.Enabled = true;
            //thu tu dong hien hanh
            int r = dgvSanPham.CurrentCell.RowIndex;
            //chuyen thong tin len panel
            this.txtMaSP.Text = dgvSanPham.Rows[r].Cells[0].Value.ToString();
            this.txtTenSP.Text = dgvSanPham.Rows[r].Cells[1].Value.ToString();
            this.txtDonvitinh.Text = dgvSanPham.Rows[r].Cells[2].Value.ToString();
            this.txtDongia.Text = dgvSanPham.Rows[r].Cells[3].Value.ToString();
            // Cho thao tác trên các nút Lưu / Hủy / Panel
            this.btnLuu.Enabled = true;
            this.btnHuy.Enabled = true;
            this.panel1.Enabled = true;
            // Không cho thao tác trên các nút Thêm / Xóa / Thoát
            this.btnThem.Enabled = false;
            this.btnSua.Enabled = false;
            this.btnXoa.Enabled = false;
            this.btnTroVe.Enabled = false;
            //dua con tro ve TextBox MaSP
            this.txtMaSP.Focus();
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            //mo ket noi
            conn.Open();
            try
            {
                //thuc hien lenh
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandType = CommandType.Text;
                //lay thu tu record hien hanh
                int r = dgvSanPham.CurrentCell.RowIndex;
                //lay MaNV cua record hien hanh
                string strSanPham = dgvSanPham.Rows[r].Cells[0].Value.ToString();
                //viet cau lenh SQL
                cmd.CommandText = System.String.Concat("delete from SanPham where MaSP= '" + strSanPham + "'");
                cmd.CommandType = CommandType.Text;
                //thuc hien cau lenh SQL
                cmd.ExecuteNonQuery();
                //cap nhat lai datagridview
                ReLoad();
                //thong bao
                MessageBox.Show("Đã xóa xong", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
            catch (SqlException)
            {
                MessageBox.Show("Không xóa được!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);

            }
            //dong ket noi
            conn.Close();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
             //mo ket noi
            conn.Open();
            if (Them)
            {
                try
                {
                    //thuc hien lenh
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conn;
                    cmd.CommandType = CommandType.Text;
                    // Lệnh Insert InTo
                    cmd.CommandText = System.String.Concat("insert into SanPham Values(" + "'" +
                        this.txtMaSP.Text.ToString() + "','" +
                        this.txtTenSP.Text.ToString() + "','" +
                        this.txtDonvitinh.Text.ToString() + "','" +
                        this.txtDongia.Text.ToString() + "')");
                    cmd.CommandType = CommandType.Text;
                    cmd.ExecuteNonQuery();
                    //load lai du lieu
                    ReLoad();
                    //thong bao
                    MessageBox.Show("Đã thêm xong", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (SqlException)
                {
                    MessageBox.Show("Không thêm được", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            if (!Them)
            {
                //thuc hien lenh
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                cmd.CommandType = CommandType.Text;
                //thu tu dong hien hanh
                int r = dgvSanPham.CurrentCell.RowIndex;
                //MaNV hien hanh
                string strSanPham = dgvSanPham.Rows[r].Cells[0].Value.ToString();
                // Lệnh Update
                cmd.CommandText = System.String.Concat("update MaNV Set NhanVien=" + this.txtMaSP.Text.ToString() + "'where MaSP ='" + strSanPham + "'");
                cmd.CommandType = CommandType.Text;
                cmd.ExecuteNonQuery();
                //load lai du lieu
                ReLoad();
                //thong bao
                MessageBox.Show("Đã sửa xong", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            //dong ket noi
            conn.Close();
        }



        }
    }

